import { Menu, Tray, app } from 'electron';
import { join } from 'path'
let tray: Tray | null = null;

//是否是托盘的点击退出
export let isTrayQuit: boolean = false;

export function createMenu(){
    // 自定义菜单选项
    var template = [
      {
          label: '菜单A',//一级菜单名称
          // 添加快捷键
          accelerator: 'ctrl+n',
          submenu: [ //定义子菜单
              {
                label: '打开新窗口',
                accelerator: 'ctrl+n',//添加快捷键
                click: () => {  //添加点击事件
                  console.log("nnnnnnnnnnnnnn")
                }
              },
              { label: '菜单A2' }
          ]
      },
      {
          label: '菜单B',
          submenu: [
            { label: '菜单B1' },
            { label: '菜单B2' }
          ]
      }
    ] 
    var m = Menu.buildFromTemplate(template) 
    Menu.setApplicationMenu(m)
    //菜单定义完成
  }
  
  export function createTray(mainWindow) {
    // 托盘图标路径
    const iconPath = join(__dirname, '../../resources/icon.png');    
    // 创建托盘实例
    tray = new Tray(iconPath);  
    // 创建托盘菜单
    const contextMenu = Menu.buildFromTemplate([
      {
        label: '显示窗口',
        click: () => {
          if (mainWindow) {
            mainWindow.show();
          }
        }
      },
      {
        label: '退出系统',
        click: () => {
          isTrayQuit = true; //标记为托盘退出
          app.quit();
        }
      }
    ]);
  
    // 设置托盘菜单
    tray.setToolTip('数据平台');
    tray.setContextMenu(contextMenu);
  
    // 添加点击事件，点击托盘图标时显示主窗口
    tray.on('click', () => {
      if (mainWindow) {
        mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show();
      }
    });
}